package cn.eeepay.framework.service.aatAgentActivity;

import cn.eeepay.framework.db.pagination.Page;
import cn.eeepay.framework.model.aatAgentActivity.AgentActivity;
import cn.eeepay.framework.model.aatAgentActivity.AgentActivityData;
import cn.eeepay.framework.model.aatAgentActivity.AgentActivityDetail;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

public interface AgentActivityService {

    /**
     * 查询活动列表
     * @param info
     * @param page
     * @return
     */
    List<AgentActivity> selectAllList(AgentActivity info, Page<AgentActivity> page);

    /**
     * 修改活动开关
     * @param id
     * @param sta
     * @return
     */
    int saveSwitch(int id, String sta);

    /**
     * 新增活动基础数据
     * @param info
     * @param msg
     * @return
     */
    int addAgentActivity(AgentActivity info, Map<String, Object> msg);

    /**
     * 获取活动基础数据
     * @param actCode
     * @return
     */
    AgentActivity getAgentActivity(String actCode);

    /**
     * 修改活动基础数据
     * @param info
     * @param msg
     * @return
     */
    int editAgentActivity(AgentActivity info, Map<String, Object> msg);

    /**
     * 删除活动
     * @param actCode
     * @param msg
     * @return
     */
    int deleteAgentActivity(String actCode, Map<String, Object> msg);

    /**
     * 获取子活动数据
     * @param actDetCode
     * @return
     */
    AgentActivityDetail getAgentActivityDetail(String actDetCode);

    /**
     * 保存子类型活动
     * @param info
     * @param msg
     * @return
     */
    int editAgentActivityDetail(AgentActivityDetail info, Map<String, Object> msg);

    /**
     * 查询活动数据列表
     * @param info
     * @param page
     * @return
     */
    List<AgentActivityData> selectAgentActivityData(AgentActivityData info, Page<AgentActivityData> page);

    void exportActivityData(AgentActivityData info, HttpServletResponse response) throws Exception;

    List<AgentActivityData> selectAgentRankingList(AgentActivityData info, Page<AgentActivityData> page,Map<String, Object> msg);

    void exportAgentRankingList(AgentActivityData info, HttpServletResponse response) throws Exception;

}
